package cn.tedu._05mvcboot01.controller;

import cn.tedu._05mvcboot01.pojo.dto.WeichatDto;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * Controller:将此类标识为一个控制器，用于接收用户的请求
 */
@Controller
public class UserController {
    /**
     * 1.RequestMapping:根据请求的url地址的路径，匹配对应的控制器的方法
     * 2.ResponseBody：允许控制器方法以返回值【return】的形式返回给客户端数据
     * http://localhost:8080/v1/users/login
     * http://localhost:8080v1/users/login
     *                     |第一个斜杠可以不写
     */
     //                      v1:版本号
    @RequestMapping(value = "/v1/users/login")
    @ResponseBody
    public String login(){
        return "恭喜你登录成功";
    }

    /**
     * 1.客户端传递给服务端数据
     *http://localhost:8080/v1/users/reg?username=kunkun&password=123456
     *2.服务端接收数据的方式1
     * 通过HttpServletRequest参数接收
     */
    @RequestMapping(value = "/v1/users/reg")
    @ResponseBody
    public String reg(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        return username+"-"+password;
    }
    /**
     * 修改密码的功能
     * 地址：/v1/users/changepwd
     * 2.服务端接收数据的方式2
     * http://localhost:8080/v1/users/changepwd?username=dingzhen&newpwd=898989898
     */
    @RequestMapping(value = "/v1/users/changepwd")
    @ResponseBody
    public String changePwd(String username, String newpwd){
        return username+"-"+newpwd;
    }

    /**
     *
     * 3.服务端接收数据的方式3
     * DTO类方式接收
     * 1.功能：第三方微信登录功能
     * 请求url地址：/v1/users/weichat
     * 查询参数：？name=微信号&pwd=密码
     * http://localhost:8080/v1/users/weichat?username=furongwang&pwd=45768686
     */
    @RequestMapping(value = "/v1/users/weichat")
    @ResponseBody
    public String weichat(WeichatDto weichatDto){
        return weichatDto.getUsername()+":"+weichatDto.getPwd();
    }
}
